package br.com.requisicao.compra.service.impl;

import br.com.requisicao.compra.canonico.PedidoCotacaoProduto;
import br.com.requisicao.compra.canonico.RequisicaoCompraProduto;
import br.com.requisicao.compra.dao.IPedidoCotacaoProdutoDAO;
import br.com.requisicao.compra.dao.impl.PedidoCotacaoProdutoDAO;
import br.com.requisicao.compra.service.IPedidoCotacaoProdutoService;

public class PedidoCotacaoProdutoService implements
		IPedidoCotacaoProdutoService {

	private IPedidoCotacaoProdutoDAO pedidoCotacaoProdutoDAO;

	public PedidoCotacaoProduto salvar(PedidoCotacaoProduto pedidoCotacaoProduto) {
		this.pedidoCotacaoProdutoDAO = new PedidoCotacaoProdutoDAO();
		try {
			pedidoCotacaoProdutoDAO.salvar(pedidoCotacaoProduto);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return pedidoCotacaoProduto;
	}

	public void update(PedidoCotacaoProduto pedidoCotacaoProduto) {
		this.pedidoCotacaoProdutoDAO = new PedidoCotacaoProdutoDAO();
		try {
			pedidoCotacaoProdutoDAO.update(pedidoCotacaoProduto);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public PedidoCotacaoProduto excluir(
			PedidoCotacaoProduto pedidoCotacaoProduto) {
		this.pedidoCotacaoProdutoDAO = new PedidoCotacaoProdutoDAO();
		try {
			pedidoCotacaoProdutoDAO.excluir(pedidoCotacaoProduto);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public PedidoCotacaoProduto obtemPedidoCotacaoPorIdRequisicaoCompra(Long codigo) {
		PedidoCotacaoProduto pedidoCotacaoProduto = null;
		this.pedidoCotacaoProdutoDAO = new PedidoCotacaoProdutoDAO();
		try {
			pedidoCotacaoProduto = pedidoCotacaoProdutoDAO.obtemPedidoCotacaoPorIdRequisicaoCompra(codigo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return pedidoCotacaoProduto;
	}

	public PedidoCotacaoProduto obtemPedidoCotacaoPorId(Long codigo) {
		PedidoCotacaoProduto pedidoCotacaoProduto = null;
		this.pedidoCotacaoProdutoDAO = new PedidoCotacaoProdutoDAO();
		try {
			pedidoCotacaoProduto = pedidoCotacaoProdutoDAO.obtemPedidoCotacaoPorId(codigo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return pedidoCotacaoProduto;
	}

	/**
	 * @return the pedidoCotacaoProdutoDAO
	 */
	public IPedidoCotacaoProdutoDAO getPedidoCotacaoProdutoDAO() {
		return pedidoCotacaoProdutoDAO;
	}

	/**
	 * @param pedidoCotacaoProdutoDAO
	 *            the pedidoCotacaoProdutoDAO to set
	 */
	public void setPedidoCotacaoProdutoDAO(
			IPedidoCotacaoProdutoDAO pedidoCotacaoProdutoDAO) {
		this.pedidoCotacaoProdutoDAO = pedidoCotacaoProdutoDAO;
	}
}